home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigarom 1
/
Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso
/
FILES
/
DEM
/
D-H
/
Effects Specialist.sea
/
EffectsSpecialistDemo™.rsrc
/
FYps_1002_ArcTools
< prev
next >
Wrap
Text File
|
1991-06-19
|
3KB
|
51 lines
/inarcNEXT { /totKern totKern KernArray kerncount get add FXChar stringwidth pop add def
360 KernArray kerncount get mul 2 WorkRad mul Pi mul div rotate
/kerncount kerncount 1 add def } def
/outarcNEXT { /totKern totKern KernArray kerncount get add FXChar stringwidth pop add def
360 KernArray kerncount get mul 2 WorkRad mul Pi mul div neg rotate
/kerncount kerncount 1 add def } def
/CalcRadius { ClipStrg numeric
{ /Raid ClipStrg cvr def }
{ /Raid FXText stringwidth pop KernNet add 2 div Pi div FontSize
TextDirection (In) eq {3 div add}
{ TextDirection (Out) eq {4 div sub} {pop} ifelse } ifelse def
} ifelse } def
/FindHalfAng { /HalfCharWidth FXChar stringwidth pop 2 div def
360 HalfCharWidth mul 2 WorkRad mul Pi mul div } def
/Justify { stringwidth pop /Ww2 exch def /Rr2 exch def
TextJustify (Left) eq { /Ww2 0 def } if
TextJustify (Centre) eq { /Ww2 Ww2 KernNet add 2 div def } if
TextJustify (Right) eq { /Ww2 Ww2 KernNet add def } if
360 Ww2 mul 2 Rr2 mul Pi mul div } def
/OutChar { FXChar exch 0 exch put /HalfAng FindHalfAng def
gsave HalfAng neg rotate Raid 0 translate -90 rotate
FXChar stringwidth pop 2 div neg 0 moveto FXChar GrafProc
grestore HalfAng 2 mul neg rotate outarcNEXT } def
/InChar { FXChar exch 0 exch put /HalfAng FindHalfAng def
gsave HalfAng rotate Raid 0 translate 90 rotate
FXChar stringwidth pop 2 div neg 0 moveto FXChar GrafProc
grestore HalfAng 2 mul rotate inarcNEXT } def
/OutCText { /WorkRad Raid FontSize 4 div add def
gsave CirclePlace WorkRad FXText Justify add rotate
kR FXText { OutChar } forall grestore } def
/InCText { /WorkRad Raid FontSize 3 div sub def
gsave CirclePlace WorkRad FXText Justify sub rotate
kR FXText { InChar } forall grestore } def
/DoArcLayerWithGrafProc {
TextDirection (In) eq { InCText } if
TextDirection (Out) eq { OutCText } if } def
/AngleOf { stringwidth pop 2 WorkRad mul Pi mul div 360 mul } def
/RotClock { gsave HalfAng 2 div neg rotate Raid 0 translate -90 HalfAng -2 div add rotate
FXChar stringwidth pop 2 div neg 0 moveto FXChar GrafProc grestore HalfAng neg rotate } def
/RotCClock { gsave HalfAng 2 div rotate Raid 0 translate 90 HalfAng 2 div add rotate
FXChar stringwidth pop 2 div neg 0 moveto FXChar GrafProc grestore HalfAng rotate } def
/CalcSpiral { /Whirls Raid Complexity mul 25 div .5 add cvi def
/AvgSize FXText stringwidth pop FXText length div def /TotalAngle 0 def
/N Raid 2 mul Pi mul AvgSize div def
/WorkRad Raid FontSize TextDirection (In) eq { 3 div sub } { 4 div add } ifelse def
} def
/DoSpiralLayerWithGrafProc { FXChar exch 0 exch put /HalfAng FXChar AngleOf def
TextDirection (In) eq { RotCClock inarcNEXT } { RotClock outarcNEXT } ifelse
DeltaScale dup scale } def
/WhirlForAll { Whirls { kR FXText { DoSpiralLayerWithGrafProc } forall } repeat } def